home *** CD-ROM | disk | FTP | other *** search
/ MacUser Mac Bin 40 / MACUSER-MACBIN40A-1997-03.ISO.7z / MACUSER-MACBIN40A-1997-03.ISO / オンラインソフト / オンラインソフト⁄毎号掲載 / 音楽,音声処理 / MIDIGraphy folder / MGPC folder / Documents / English / notes⁄manual
Text File  |  1996-11-22  |  24KB  |  596 lines

  1. ------------------------------------------------------------------------------
  2.        MG Profile Compiler Ver.1.3.0 / Release Notes (English edition)
  3.                          Copyright (c) 1993-96 TONTATA
  4. ------------------------------------------------------------------------------
  5.               Created by TONTATA (a member of JIRAIYA-AIKOUKAI)
  6.                 NIFTY-Serve : NCA02217
  7.                 Internet    : NCA02217@niftyserve.or.jp
  8.                               mmaeda@ca2.so-net.or.jp
  9.                               tontata@kagi.com
  10.                 Home Page   : http://ux01.so-net.or.jp/~mmaeda/
  11. ------------------------------------------------------------------------------
  12. BRIEF DESCRIPTION
  13.  
  14.    MG Profile Compiler is an application for Macintosh that allows you to 
  15. make sound device profiles for MIDIGraphy. It compiles source text files, and 
  16. then generates sound device profiles. For comments, suggestions or bug 
  17. reports, please send mail to me: 
  18.  
  19.                                   NIFTY-Serve : NCA02217 
  20.                                      Internet : NCA02217@niftyserve.or.jp 
  21.                                                 mmaeda@ca2.so-net.or.jp
  22.                                                 tontata@kagi.com 
  23.  
  24. ------------------------------------------------------------------------------
  25. NOTES
  26.  
  27.   - The "User's Manual" follows this "release notes" in this file. Please 
  28.     read the "User's Manual" before you use this software. 
  29.   - There are some regulations to distribute data created by using this 
  30.     software. For details, refer the section "DISTRIBUTION". 
  31.  
  32. ------------------------------------------------------------------------------
  33. SYSTEM REQUIREMENTS
  34.  
  35.   - MG Profile Compiler works under System 7.0 or later. It has not been 
  36.     tested under earlier version of system software. 
  37.  
  38. ------------------------------------------------------------------------------
  39. LICENCE
  40.  
  41.   - This package is an optional package of MIDIGraphy package which is 
  42.     separately distributed. There are some differences in licensing 
  43.     regulations for these two packages. 
  44.   - MIDIGraphy package is the shareware. If you think a combination of two 
  45.     packages (MIDIGraphy package and this package) is worth paying for, 
  46.     please send me a shareware fee. Detail descriptions about a shareware fee 
  47.     of MIDIGraphy are in the release notes provided with MIDIGraphy package. 
  48.   - If you have already paid a shareware fee for any version of MIDIGraphy 
  49.     package, you don't have to pay any more fee for this package. 
  50.  
  51. ------------------------------------------------------------------------------
  52. DISTRIBUTION
  53.  
  54.   - MG Profile Compiler is free to a non-commercial distribution. Please keep 
  55.     package contents (including accompanying written materials) unchanged. 
  56.     When you post MG Profile Compiler on sites or BBSs, please let me know 
  57.     where you post it on. 
  58.   - A prior permission is required for a commercial distribution. As a rule, 
  59.     a commercial distribution requires the following terms. 
  60.       a. Price is not unreasonable. 
  61.       b. Any right or responsibility is not transferred. 
  62.       c. Not any changes from the author's original package are allowed. (An 
  63.          extracting archives or a recompressing whole of package contents 
  64.          is admitted.) 
  65.       d. One set of distribution is provided to the author who keeps it in 
  66.          his custody. 
  67.   - To use MG Profile Compiler for commercial purposes, a prior permission by 
  68.     the author is necessary. 
  69.   - To use data created by using MG Profile Compiler for commercial purposes, 
  70.     a prior permission is necessary. 
  71.  
  72.   - It is prohibited to distribute data which created using a sample file 
  73.     without modification. 
  74.   - If you distribute data which created using a sample file with some 
  75.     modifications, you must also modify its copyright description. The 
  76.     distribution with copyright description as "Copyright (c) TONTATA" is 
  77.     prohibited. 
  78.  
  79. ------------------------------------------------------------------------------
  80. COPYRIGHT
  81.  
  82.   - MG Profile Compiler and accompanying written materials are copyright 
  83.     1993-96 TONTATA. 
  84.  
  85. ------------------------------------------------------------------------------
  86. WARRANTY
  87.  
  88.   - MG Profile Compiler and accompanying written materials are provided 
  89.     "as is" without warranty of any kind. Any damage caused by using or 
  90.     impossibility to use this software or accompanying written materials is 
  91.     the responsibility of the user. 
  92.   - By using MG Profile Compiler and accompanying written materials, you can 
  93.     freely produce and distribute data or software in case regulations for a 
  94.     distribution are not violated. However, any damage or trouble caused by 
  95.     the distribution or by using materials distributed is the responsibility 
  96.     of the user. 
  97.   - Specifications for software interface between MIDIGraphy and profiles 
  98.     might be changed without notification to users. 
  99.  
  100.  
  101. ------------------------------------------------------------------------------
  102. VERSION HISTORY
  103.  
  104. Ver.1.3.0 (1996/11/22)
  105.   - The creator coeds of output profiles have been changed to be match with 
  106.     MIDIGraphy 1.3.0. 
  107.   - Added a source file for "SC-88 Profile". 
  108.   - Added a source file for "QY10 Profile". 
  109.   - Modified QTMI Profile to adapt QuickTime 2.5. 
  110.   - Corrected spelling mistakes in English documents and in strings of 
  111.     profiles (Thanks to Mr. Mario Leonti). 
  112.   - Corrected mistakes of data in some profiles. 
  113.  
  114. Ver.1.2.1 (1996/04/12)
  115.   - The source file for QTMI Profile is newly included. 
  116.   - Now English document is available (yes, this file). 
  117.  
  118. Ver.1.2.0 (1996/03/20)
  119. Ver.1.1.1 (1996/02/12)
  120. Ver.1.0.5 (1995/11/18)
  121. Ver.0.9.0 (1995/11/04) "Beta Version"
  122.  
  123. ------------------------------------------------------------------------------
  124. * English is not my native language. If you find spelling or grammatical 
  125.   errors in any part of MG Profile Compiler, please inform me. Thank you. 
  126.  
  127. ------------------------------------------------------------------------------
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. ------------------------------------------------------------------------------
  141.        MG Profile Compiler Ver.1.3.0 / User's Manual (English edition)
  142.                          Copyright (c) 1993-96 TONTATA
  143. ------------------------------------------------------------------------------
  144.               Created by TONTATA (a member of JIRAIYA-AIKOUKAI)
  145.                 NIFTY-Serve : NCA02217
  146.                 Internet    : NCA02217@niftyserve.or.jp
  147.                               mmaeda@ca2.so-net.or.jp
  148.                               tontata@kagi.com
  149.                 Home Page   : http://ux01.so-net.or.jp/~mmaeda/
  150. ------------------------------------------------------------------------------
  151.  
  152.  
  153. TABLE OF CONTENTS
  154. ~~~~~~~~~~~~~~~~~
  155.     1. Abstract
  156.     2. Usage
  157.         2.1. How To Install
  158.         2.2. How To Compile
  159.         2.3. Error Messages
  160.  
  161.     A. MGPC Syntax
  162.         A1. Preprocessing
  163.             A1.1. Comments
  164.             A1.2. File Inclusion
  165.             A1.3. Symbol Substitutions
  166.         A2. Expressions
  167.             A2.1. String Expressions
  168.             A2.2. Numeric Value Expressions
  169.             A2.3. File Path Expressions
  170.         A3. Statements
  171.             A3.1. Profile Description Statements
  172.             A3.2. Resource Description Statements
  173.                 A3.2.1. 'vers' Description Statements
  174.                 A3.2.2. 'PNam' Description Statements
  175.                 A3.2.3. 'NNam' Description Statements
  176.                 A3.2.4. 'Midi' Description Statements
  177.                 A3.2.5. 'Mid#' Description Statements
  178.                 A3.2.6. 'Exdf' Description Statements
  179.  
  180.  
  181.  
  182. ------------------------------------------------------------------------------
  183. 1. Abstract
  184. ~~~~~~~~~~~
  185.    MG Profile Compiler is an application for Macintosh that allows you to 
  186. make sound device profiles for MIDIGraphy. It compiles source text files, and 
  187. then generates sound device profiles. By using MG Profile Compiler, you can 
  188. create following resources: 
  189.     - 'vers': A resource contains version and copyright descriptions.
  190.     - 'PNam': A resource contains a program name list. 
  191.     - 'NNam': A resource contains a note name list. 
  192.     - 'Midi': A resource contains directly output MIDI data. 
  193.     - 'Mid#': A resource contains a list of 'Midi'. 
  194.     - 'Exdf': A resource contains a system exclusive filter. 
  195.  
  196.  
  197. 2. Usage
  198. ~~~~~~~~
  199. 2.1. How To Install
  200.  
  201.     This package contains following files:
  202.  
  203.     MGPC folder
  204.      +- MGProfCompiler  : MG Profile Compiler application. 
  205.      +- mgpc.doc        : this file. 
  206.      +- profile sources : the folder contains sample source files. 
  207.          +- ***.s       : sample source files. 
  208.  
  209.     You can install these files any where you like in your hard disk. 
  210.  
  211.  
  212. 2.2. How To Compile
  213.  
  214.     MG Profile Compiler compiles source text file then generates profiles. To 
  215. edit source text files, you need a text editor application. You can use any 
  216. text editor which can handle 'TEXT' files. You can use SimpleText which 
  217. provided by Apple Computer Inc., but note that SimpleText can not handle a 
  218. TEXT file over 32KB in size. All of sample source files are smaller than 
  219. 32KB, but it might be necessary to make source files over 32KB. (I'm using 
  220. ASLEdit+ by Mr. Hiroo Yamada). 
  221.     To create new profile, first, make a source text file according to 
  222. syntaxes described later. Since MG Profile Compiler do only simplicity error 
  223. checks, please make a source file after you understand syntaxes thoroughly. 
  224.     Next, compile your source file by MG Profile Compiler. There are 
  225. following two method to compile your source file: 
  226.  
  227.     Method-A: 
  228.       - Launch MG Profile Compiler application. 
  229.       - Choose the menu item "File>Compile". 
  230.       - Choose your source file in the Open dialog box. 
  231.  
  232.     Method-B: 
  233.       - Drag your source file and drop onto MG Profile Compiler icon. 
  234.  
  235.     There is no option related to compilation. A progress dialog will be 
  236. appear while a compilation process is running. If MG Profile Compiler finds 
  237. an error in your source, it displays an error message dialog, and the compile 
  238. process is stopped. 
  239.  
  240.  
  241. 2.3. Error Messages
  242.  
  243.     If MG Profile Compiler finds an error, it displays following error 
  244. messages with position (a line number) in the file:
  245.  
  246.     - "file cannot open." 
  247.     - "syntax error." 
  248.     - "comment not closed." 
  249.     - "include nesting overflow." 
  250.     - "undefined directive." 
  251.     - "String too log." 
  252.     - "Resource not found." 
  253.     - "Memory low." 
  254.  
  255.  
  256. ------------------------------------------------------------------------------
  257. A. MGPC Syntax
  258. ~~~~~~~~~~~~~~
  259.  
  260. A1. Preprocessing
  261.  
  262. A1.1. Comments
  263.  
  264.     Next two notation are comments and ignored in compilation. 
  265.  
  266.         /* this is a comment (this can be consisted plural lines). */
  267.     or
  268.         // this is a comment ends with the end of line. 
  269.  
  270.     A '/*' contained in either type of comment is not regarded as the start 
  271. of a comment. A '*/' contained in second type of comment is not regarded as 
  272. the end of comment. And a '//' contained in first type of comment is not 
  273. regarded as a start of comment. 
  274.  
  275.  
  276. A1.2. File Inclusion
  277.  
  278.     Next two directive include specified source file. 
  279.  
  280.         #include    "PATH_NAME"
  281.     or
  282.         #include    <PATH_NAME>
  283.  
  284.     For both two directive, MG Profile Compiler will search specified source 
  285. file based on current directory. If you want to include source file which is 
  286. not placed in current directory, you must specify as a PATH_NAME a relative 
  287. path from current directory or a full path of the file you want to include. 
  288. Expressions for PATH_NAME will be described later. 
  289.  
  290.  
  291. A1.3. Symbol Substitutions
  292.  
  293.     Next directive defines a symbol and assign value to it. 
  294.  
  295.         #include    SYMBOL_NAME  VALUE
  296.  
  297.     After in this directive, an expression $SYMBOL_NAME$ will be replaced 
  298. with the VALUE. The VALUE may be a numeric value expression or a string 
  299. expression. If you specify $UNDEFINED_SYMBOL$ in source file, it will be 
  300. ignored (not causes an error). 
  301.  
  302.  
  303. A2. Expressions
  304.  
  305. A2.1. String Expressions
  306.  
  307.     Next two expressions are for string data. 
  308.  
  309.         "STRING"
  310.     or
  311.         "STRING_1" "STRING_2" ...
  312.  
  313.     Characters '/*', '*/' and '//' in STRING expression are not regarded as 
  314. comment-tags. If you want to use the '"' character in a string expression, 
  315. you must specify as '¥"'. If you want to use the '¥' character in a string 
  316. expression, you must specify as '¥¥'. If you specify plural string 
  317. expressions without separator except space, tab or CR, they will be regarded 
  318. as one string. Some expressions of them can be $SYMBOL_NAME$ expression. 
  319.  
  320.  
  321. A2.2. Numeric Value Expressions
  322.  
  323.     Next expressions are for numeric data. 
  324.  
  325.         DECIMAL_VALUE
  326.     or
  327.         HEXADECIMAL_VALUE (start with '0x')
  328.  
  329.  
  330. A2.3. File Path Expressions
  331.  
  332.     The path expression for a file in the current directory is only a file 
  333. name: 
  334.  
  335.         "FILE_NAME"
  336.  
  337.     The relative path expression for a file in other directories is started 
  338. with ':', and separating directory names with ':', as shown below:
  339.  
  340.         ":DIRECTORY_NAME:FILE_NAME"
  341.  
  342.     The upper level of the current directory is expressed with '::', and the 
  343. twice upper level is expressed with ':::'. 
  344.     The absolute pass expression is started with the volume name and 
  345. separating directory names with ':', as shown below:
  346.  
  347.         "VOLUME_NAME:DIRECTORY_NAME:FILE_NAME"
  348.  
  349. NOTE: The PATH_NAME expression for an #include directive can not be a 
  350.       $SYMBOL_NAME$ expression. 
  351.  
  352.  
  353. A3. Statements
  354.  
  355. A3.1. Profile Description Statements
  356.  
  357.     Next statement creates a new profile. 
  358.  
  359.         FILE("PATH_NAME"){
  360.             RESOURCE_DESCRIPTION
  361.             RESOURCE_DESCRIPTION
  362.               :
  363.               :
  364.         };
  365.  
  366.     ("PATH_NAME") identifies a profile to create. The PATH_NAME expression 
  367. must be a relative path expression from the current directory, or an absolute 
  368. path expression. 
  369.     One source file may contain plural profile description. And one profile 
  370. description statement may contain plural resource descriptions but plural 
  371. 'vers' descriptions will be ignored except last one. Some or all resource 
  372. descriptions may be in an included file. A resource description outside 
  373. profile descriptions will cause a compile error. 
  374.  
  375.  
  376. A3.2. Resource Description Statements
  377.  
  378. A3.2.1. 'vers' Description Statements
  379.  
  380.     Next statement creates a 'vers' resource. 
  381.  
  382.         vers("RESOURCE_NAME"){
  383.             VERSION_NO ,
  384.             REVISION_NO_UPPER ,
  385.             REVISION_NO_LOWER ,
  386.             STAGE_NO ,
  387.             BUILD_NO ,
  388.             INTERNATIONAL_CODE ,
  389.             "STRING_1" ,
  390.             "STRING_2" ,
  391.         };
  392.  
  393.     ("RESOURCE_NAME") identifies a resource to create. 
  394.     This statement creates a 'vers' resource, id=1 which shows a file 
  395. version. 'vers' resource id=2 which shows a package version is copied from 
  396. 'vers' resource id=1 in MG Profile Compiler. If a profile description 
  397. statement contains plural 'vers' resource description, they are ignored 
  398. except last one. If a profile description statement contains NO 'vers' 
  399. resource description, 'vers' resource id=1 is also copied from MG Profile 
  400. Compiler. 
  401.  
  402.  
  403. A3.2.2. 'PNam' Description Statements
  404.  
  405.     Next statement creates a 'PNam' resource. 
  406.  
  407.         PNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  408.             PROGRAM_NAME_DESCRIPTION ,
  409.             PROGRAM_NAME_DESCRIPTION ,
  410.               :
  411.               :
  412.         };
  413.  
  414.     ("RESOURCE_NAME") identifies a resource to create. 
  415.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  416. from which a new resource will be derived. If the original resource 
  417. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  418. is omitted, the original resource is searched in currently creating profile 
  419. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  420. file). If all braced PROGRAM_NAME_DESCRIPTIONs are omitted, a new resource 
  421. will be a copy of the original resource. 
  422.     Next statements describe PROGRAM_NAME_DESCRIPTION:
  423.  
  424.         "PROG_NO:PROG_NAME_STRING"
  425.     or
  426.         +"PROG_NO:PROG_NAME_STRING"
  427.     or
  428.         -"PROG_NO:"
  429.     or
  430.         "-"
  431.  
  432.     A PROG_NO may be a 2-figure hexadecimal number. It may contain characters 
  433. '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'. 
  434.     In case of the first from, if a same PROG_NO is found in the current 
  435. 'PNam' resource (i.e. in an original resource or in previous 
  436. PROGRAM_NAME_DESCRIPTIONs), it will be replaced with PROG_NAME_STRING 
  437. described here. If a same PROG_NO is not found, a new PROG_NAME_STRING will 
  438. be added the end of current 'PNam' resource. 
  439.     In case of the second form, a new PROG_NAME_STRING will be added the end 
  440. of current 'PNam' resource non conditionally. 
  441.     In case of the third form, if a same PROG_NO is found the current 'PNam' 
  442. resource, it will be removed from the current resource. 
  443.     The last form defines a separator. 
  444.  
  445.  
  446. A3.2.3. 'NNam' Description Statements
  447.  
  448.     Next statement creates a 'NNam' resource. 
  449.  
  450.         NNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  451.             NOTE_NAME_DESCRIPTION ,
  452.             NOTE_NAME_DESCRIPTION ,
  453.               :
  454.               :
  455.         };
  456.  
  457.     ("RESOURCE_NAME") identifies a resource to create. 
  458.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  459. from which a new resource will be derived. If the original resource 
  460. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  461. is omitted, the original resource is searched in currently creating profile 
  462. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  463. file). If all braced NOTE_NAME_DESCRIPTIONs are omitted, a new resource will 
  464. be a copy of the original resource. 
  465.     Next statements describe NOTE_NAME_DESCRIPTION:
  466.  
  467.         "NOTE_NO:NOTE_NAME_STRING"
  468.     or
  469.         +"NOTE_NO:NOTE_NAME_STRING"
  470.     or
  471.         -"NOTE_NO:"
  472.     or
  473.         "-"
  474.  
  475.     A NOTE_NO may be a 2-figure hexadecimal number. It may contain characters 
  476. '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'. 
  477.     In case of the first from, if a same NOTE_NO is found in the current 
  478. 'PNam' resource (i.e. in an original resource or in previous 
  479. NOTE_NAME_DESCRIPTIONs), it will be replaced with NOTE_NAME_STRING described 
  480. here. If a same NOTE_NO is not found, a new NOTE_NAME_STRING will be added 
  481. the end of current 'NNam' resource. 
  482.     In case of the second form, a new NOTE_NAME_STRING will be added the end 
  483. of current 'NNam' resource non conditionally. 
  484.     In case of the third form, if a same NOTE_NO is found the current 'NNam' 
  485. resource, it will be removed from the current resource. 
  486.     The last form defines a separator. 
  487.  
  488.  
  489. A3.2.4. 'Midi' Description Statements
  490.  
  491.     Next statement creates a 'Midi' resource. 
  492.  
  493.         Midi("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
  494.     or
  495.         Midi("RESOURCE_NAME"){
  496.             MIDI_EVENT
  497.         };
  498.  
  499.     ("RESOURCE_NAME") identifies a resource to create. 
  500.     The first form creates a new 'Midi' resource as a copy of an original 
  501. resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the 
  502. "REF_FILE_NAME" is omitted, the original resource is searched in currently 
  503. creating profile (in this case, REF_RESOURCE_NAME must be previously 
  504. described in the source file). 
  505.     The second form creates a new 'Midi' resource which contains a specified 
  506. MIDI_EVENT. A MIDI_EVENT is hexadecimal encoded data. 
  507.  
  508.  
  509. A3.2.5. 'Mid#' Description Statements
  510.  
  511.     Next statement creates a 'Mid#' resource. 
  512.  
  513.         Mid#("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  514.             Midi_RESOURCE_NAME ,
  515.             Midi_RESOURCE_NAME ,
  516.               :
  517.               :
  518.         };
  519.  
  520.     ("RESOURCE_NAME") identifies a resource to create. 
  521.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  522. from which a new resource will be derived. If the original resource 
  523. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  524. is omitted, the original resource is searched in currently creating profile 
  525. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  526. file). If all braced MIDI_RESOURCE_NAMEs are omitted, a new resource will be 
  527. a copy of the original resource. 
  528.     MIDI_RESOURCE_NAMEs will be stored into the profile without any 
  529. propriety verification in the compilation (It will be verified at a runtime 
  530. on MIDIGraphy). 
  531.  
  532.  
  533. A3.2.6. 'Exdf' Description Statements
  534.  
  535.     Next statement creates a 'Exdf' resource. 
  536.  
  537.         Exdf("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
  538.     or
  539.         Exdf("RESOURCE_NAME"){
  540.             FIELD_DESCRIPTION ,
  541.             FIELD_DESCRIPTION ,
  542.               :
  543.               :
  544.         };
  545.  
  546.     ("RESOURCE_NAME") identifies a resource to create. 
  547.     The first form creates a new 'Exdf' resource as a copy of an original 
  548. resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the 
  549. "REF_FILE_NAME" is omitted, the original resource is searched in currently 
  550. creating profile (in this case, REF_RESOURCE_NAME must be previously 
  551. described in the source file). 
  552.     The second form creates a new 'Exdf' resource which contains specified 
  553. FIELD_DESCRIPTIONs. Next statement describes FIELD_DESCRIPTION:
  554.  
  555.         FIELD_NAME,FIELD_TYPE,FIELD_BITS,FIELD_DATA
  556.  
  557.     A FIELD_NAME may be a string expression. If the FIELD_TYPE is $Exdf_val$ 
  558. or $Exdf_data$, this FIELD_NAME will appear as the item title in the System 
  559. Exclusive Editor dialog. 
  560.     A FIELD_TYPE may be one of below:
  561.  
  562.         $Exdf_fix$      : It defines a Fixed-Data field. For this type, the 
  563.                           FIELD_BITS is the number of bits for the field, and 
  564.                           the FIELD_DATA is the Fixed-data. At runtime on 
  565.                           MIDIGraphy, data in Fixed-Data field will be 
  566.                           examined to decide Exdf used to edit a system 
  567.                           exclusive event. 
  568.         $Exdf_val$      : It defines a Value-Data field. For this type, the 
  569.                           FIELD_BITS is the number of bits of the field, and 
  570.                           the FIELD_DATA is the default value of the Value-
  571.                           Data. 
  572.         $Exdf_data$     : It defines a Variable-Length-Data field. For this 
  573.                           type, the FIELD_BITS is the unit number of bits 
  574.                           (i.e. the number of bits of the field is a multiple 
  575.                           of the FIELD_BITS), and the FIELD_DATA is the 
  576.                           default value of each unit in Variable-Length-Data. 
  577.         $Exdf_sumStart$ : It defines a start point of check-sum calculation. 
  578.                           Descriptions for a FIELD_BITS and a FIELD_DATA are 
  579.                           not used. 
  580.         $Exdf_sumEnd$   : It defines a end point of check-sum calculation. 
  581.                           Descriptions for a FIELD_BITS and a FIELD_DATA are 
  582.                           not used. 
  583.         $Exdf_sum$      : It defines Check-Sum-Data field. For this type, the 
  584.                           FIELD_BITS is the number of bits of the field, and 
  585.                           the FIELD_DATA is not used. At runtime on 
  586.                           MIDIGraphy, the Check-Sum-Data will be calculated 
  587.                           according to next rule: The lower 7 bits of the sum 
  588.                           total for all data from start point until end point 
  589.                           and data in the Check-Sum-Data field is equal to 0. 
  590.         $Exdf_end$      : It defines End-of-Exdf field. Each Exdf resource 
  591.                           must be end with this type field. 
  592.  
  593.     These symbols are pre-defined by MG Profile Compiler. 
  594.  
  595. ------------------------------------------------------------------------------
  596.